fix: make Codex delivery resilient to sandbox DNS - #4983
Draft
Greg-Moskalenko wants to merge 4 commits into
Draft
Conversation
Honor the adapter network capability at startup and broker exact signed events through the harness when the sandboxed CLI cannot reach the relay. Preserve direct delivery as the primary path and verify relay acceptance plus exact readback for both paths. Co-authored-by: Greg Moskalenko <greg1mosk@gmail.com> Signed-off-by: Greg Moskalenko <greg1mosk@gmail.com>
Co-authored-by: Greg Moskalenko <greg1mosk@gmail.com> Signed-off-by: Greg Moskalenko <greg1mosk@gmail.com>
Co-authored-by: Greg Moskalenko <greg1mosk@gmail.com> Signed-off-by: Greg Moskalenko <greg1mosk@gmail.com>
Add an exact recipient policy for new conversational posts across direct CLI and delivery-broker paths. Preserve ordinary unmentioned replies only after signed same-channel parent verification, while leaving edits and diffs unaffected. Co-authored-by: Greg Moskalenko <greg1mosk@gmail.com> Signed-off-by: Greg Moskalenko <greg1mosk@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Why
Kamaljinder's Luna turns continued to run and compose replies, but normal
buzz messages sendcalls ran inside a Codex workspace-write sandbox whose per-turn policy disabled network access. Earlier sends only worked when the model happened to request an elevated retry. After a fresh session stopped choosing that escape, direct replies and heartbeat publications silently failed.This change makes the intended workspace-write network policy explicit and adds a signed-event delivery contract outside the model sandbox so publishing no longer depends on model-selected escalation.
Safety properties
Validation
env -u BUZZ_ACP_LAZY_POOL ./bin/just ci708054d8630ca0536e1e03a70199a2f935fef3a3Optional outbound mention guard
BUZZ_OUTBOUND_TOP_LEVEL_MENTION_PUBKEYSpolicy for new stream and forum messages; no agent or recipient identity is hard-codedp-tag set; reject missing, additional, malformed, or duplicate tags before relay submissionPath-level tests cover direct and broker rejection, matching top-level delivery,
signed same-channel replies, forged or cross-channel reply rejection, policy
precedence and propagation, and edit/diff compatibility.
Routing-policy live acceptance
708054d8candidate with
BUZZ_OUTBOUND_TOP_LEVEL_MENTION_PUBKEYSset to Boofus only.mention-policy error and produced no matching KJ event on the relay.
once as KJ-signed event
ee871edddfba2ffdb2d8249f5a86be446749d5ab6878ccd5b4d5d7c6ae3ce3dd.9, has the Inbox triagehtag, noetag, andexactly one
ptag: Boofus(
7ab52828888397487758803330ded03256c25a98025642fe35382f030b930711).32 workers configured, 31 channel subscriptions, relay connection, online
presence, and the Boofus-only guard in the live process environment.
Dependency and merge gate
Paired adapter change: agentclientprotocol/codex-acp#368.
Do not merge this PR until the compatible adapter is available to the Buzz package/runtime. Live acceptance must also pass on Luna with a fresh session: one channel mention, one DM, and one forced material heartbeat, each accepted once and read back from the intended destination without
require_escalatedorEAI_NONAME.